Eggplant DAIでのState の定義
Eggplant DAIを使用すると、システムのモデルを作成し、Eggplant DAIがアルゴリズムを使用してシステムのテストを生成できます。モデルは_State_と_Action_で構成されています。State は一般的にソフトウェアアプリケーション内の画面を表します。Actionは、State 間でユーザーを移動するActionを含む、State 内で実行できるユーザーActionです。
以下に、Eggplant DAIモデルでState を作成して使用する方法についての情報を見つけることができます。Actionについての情報は、Eggplant DAIのActionを参照してください。
State のタイプ
Eggplant DAIのState には以下の4つのタイプがあります:
- Start: このState タイプは、モデルの_初期_state、つまり開始点に使用されます。これは、モデルに対するテストの実行を開始する際の最初のモデル要素です。
- Exception: このState タイプは、新しいモデルを作成する際に自動的に追加される_エラー_stateに使用されます。このState はエラーハンドリングに使用できます。
- Cleanup: このState タイプは、新しいモデルを作成する際に自動的に追加される_Cleanup_stateに使用されます。このState は、モデルの実行終了時にSUTで実行したい任意のクリーンアップステップに使用できます。
- Normal: このState タイプは、すべての他のState に使用されます。モデルのほとんどは通常のState タイプで構築されます。
新規モデルのデフォルトState
Eggplant DAIで新しいモデルを作成すると、緑色のスタートState がModel ワークスペースに自動的に配置され、その名前は_Initial_となります。右側のペインでState Propertiesタブを選択し、State のNameをモデルをよりよく表現md
左側のペインでModel Treeタブをクリックすると、新しいモデルにはデフォルトで以下のState が存在することがわかります:
- Initial: これはスタートState で、モデルの実行開始点です。
- Error: このState は例外タイプです。Eggplant DAIはモデルの実行中にエラーが発生した際にこのState を呼び出します。エラーは、モデルチェックが失敗したときや、SenseTalkスニペット内で問題が発生したときに発生することがあります。これらの状況でエラーハンドリングを使用するには、このState に適切なSenseTalkスニペットをアタッチする必要があります。このState が呼び出されたときにスニペットがアタッチされていない場合、モデルの実行はここで何も行わずに終了します。
- Cleanup: Eggplant DAIはモデルの実行が終了する直前にこのState を 呼び出します。必要に応じて、適切なSenseTalkスニペットをアタッチすることで、モデルの実行が終了する前にSUTを整理するためにCleanupState を使用できます。例えば、アプリケーションを閉じたり、データベース接続を閉じたりする必要があるかもしれません。このState が呼び出されたときにスニペットがアタッチされていない場合、モデルの実行はここで何も行わずに終了します。
- Exit: このState にはActionが含まれていません。Eggplant DAIがこのState を呼び出すと、モデルの実行が終了します。
通常、Model ワークスペースに表示されるのはスタートState と追加した任意のノーマルState だけです。例外、Cleanup、およびExitState はModel Treeタブにのみ表示されます。
モデルState の作成
モデルに新しいState を作成するには:
- Model ワークスペースで、以下のいずれかを行います:
- ツールバーでNew Stateをクリックします。
- ワークスペースを右クリックし、コンテキストメニューからNew Stateを選択します。
Ctrl+Shift+S
を使用します。 新しいState が表示され、State Propertiesタブが選択されて完成の準備ができています。
- 設定State プロパティのガイドラインを使用して、State を設定します。
ページの右側のタブの内容は、モデル内で選択されたものによって変わります。State Propertiesタブを見るには、モデル内でState を選択する必要があります。
モデルにState を追加した後、Eggplant DAIのActionの指示に従って、モデルにActionを追加します。
State プロパティの設定
モデルの振る舞いをカスタマイズするために、State に関連付けられたプロパティを調整することができます。State のプロパティを変更するには、モデルの中でState を選択します。State Propertiesタブは、編集の準備ができたstateで右のペインに自動的に選択されます。
State Propertiesタブからは、State の全てのプロパティにアクセスすることができます。モデルのために初めてState を作成する時にこれらのプロパティを設定することができ、また後で必要に応じてプ ロパティを調整するためにここに戻ることができます。
State Propertiesタブ
一般プロパティセクション
State Propertiesタブの上部セクションでは、State の一般的なプロパティを調整することができます:
- Name: 新しいActionがデフォルト名で作成されます。ここの名前を、モデルにとってよりわかりやすい名前に変更します。次の文字を除くすべての Unicode (UTF-8) 文字を使用できます。
; !- : \* = > < ^ $ , [ ] >\
. - Description: このフィールドはオプションですが、このState についての有益な情報を記録するために使用できます。
- Type: このフィールドを使用して、State のタイプを変更します。利用可能なState のタイプは、State の種類で説明されています。
通常、State のタイプを調整する必要はありません。新しいState はデフォルトでNormalタイプでmd 作成され、これがモデルの大部分を構成します。Start、Exception、CleanupのState タイプはモデルごとに1つずつしか持つべきではありません。
State セクションによって呼び出されるスニペット
このセクションでは、選択したState にリンクした任意のスニペットをリストします。これらのスニペットは、モデルの実行中にこのState が遭遇した際に実行されます。スニペットとは、モデルがState やActionを呼び出すときにSUTと対話するSenseTalkコードの特定の部分です。
State プロパティタブのState セクションによって呼び出されるスニペット
snippets を状態またはアクションに追加するには、Model ワークスペースと Snippets タブを使用します。この方法でスニペットをリンクする方法については、Eggplant DAIモデルをスニペットにリンクをご覧ください。
しかし、State に添付したいスニペットのパスがわかっている場合は、ここで追加することができます。ScriptPathボックスをクリックし、スニペット名を入力します。
State Parameterーセクション
このセクションの設定を使用して、このState およびこのState によって呼び出されるスニペット内で使用したいParameterーを設定します。State Parameterーは、State またはState 内のActionで使用できます。また、スニペットへ渡したり、スニペットから受け取ったりすることもできます。
新しいParameterーを追加するには、State ParametersセクションでNewをクリックします。また、ModelワークスペースでState を選択して右クリックし、コンテキストメニューからNew Parameterを選択することもできます。以下に示されている選択を使用して、State Parameterーを設定できます:
-
Name: Parameterに適切な名前を入力してください。このフィールドではダブルクォートを除くすべてのUnicode文字を使用できます。
-
Type: リストメニューから適切なParameterのタイプを入力します:
- Integer: この選択肢はParameterを正、負、またはゼロの整数(分数ではない)として定義します。例えば、ユーザーの数やテストケースの数など、何かの数が重要なモデルで整数Parameterタイプを使用します。
- True or False: あなたのモデルがオンまたはオフ、真または偽、および他の類似の値などのブール値を必要とするとき、このデータタイプを使用します。
- Real: 実数データタイプは正と負の整数と小数を受け入れます。角度、ラジアン、または他の類似の情報などの値に対して実数データタイプを使用します。
- Text: このデータタイプは、文字列の格納または文字の許容リストを文字列として定義するために使用します。それは任意の整数制約、つまり、2、4、8、16は2、4、8、または16文字の文字列を作り、他の制約と同様に、ここで複数の制約を組み合わせることができます。許容文字の範囲を設定したい場合は、それらを範囲 、つまり
'a':'z'
またはリスト"aeiou"
にする必要があります。シングルクォートとダブルクォートは重要であることを覚えておいてください。 - Set: この選択肢は、このParameterに対する許容値のセットを定義することができます。Eggplant DAIに実行時に特定の値リストから値を選択させたい場合、この選択肢を使用します。例えば:
spring
、summer
、autumn
、winter
。あなたの値リストを入力するには、Parameterを右クリックし、コンテキストメニューから Edit Parameter Details を選択し、Parameter Properties ダイアログボックスの Value セクションを使用して値を設定します。このフィールドではダブルクォートを除くすべてのUnicode文字を使用できます。 - Record: この選択肢は、Eggplant DAIにCSVファイルに含まれるレコードからParameter値を読み取らせることができます。CSVファイルが含まれているディレクトリを特定するには、Controller > Environmentsに移動し、使用している実行環境を見つけます。Actionメニューをクリックし、Editを選択してディレクトリパスを確認します。Eggplant DAIがParameterにアクセスすると、CSVファイルからレコードのうちの一つを選択し、それをParameterに格納します。
-
Generated: リストメニューから適切なParameter生成方法を入力します:
- Generated: Parameterのタイプに基づいてParameterの新しい値を生成します。
- Generated Unique: 値を生成しますが、以前に使用された値を再利 用することはできません。
- Generated one-time: 生成された値は一度選択され、その後は選択されません。その値はランの間、静的に保持されます。
- Non-generated: 値は生成されず、値を含むように設定する必要があります。
-
Initial Value: このParameterに対して初期値を設定します。RecordTypeのParameterを使用する場合、Initial Valueフィールドで選択するオプションが、レコードを読み取るべき.csvファイルを決定します。
既存のParameterを編集するには、それを選択し、stateParameterセクションの情報を更新します。Parameterをさらにカスタマイズするには、Parameterを右クリックし、Edit Parameter Detailsを選択します。Parameter Propertiesダイアログボックスでは、初期値および値範囲などの詳細を設定することができます。
Parameterを削除するには、stateParameterセクションでParameterを右クリックし、コンテキストメニューからRemove Parameterを選択します。
関連タグセクション
Eggplant DAIでは、モデルに特定のプロパティを識別するタグを作成できます。これらのタグをstateに適用して、モデル内のそれらのプロパティを追跡できます。このセクションの設定を使用して、モデル内のstateにタグを関連付けます。タグの作成、モデル内のstateに作成したタグを適用する方法については、Eggplant DAIでのタグの使用を参照してください。